Method of reconstructing images for spiral and non-spiral computer tomography

ABSTRACT

General scheme processes and systems for constructing algorithms for reconstructing images of objects that have been scanned in a spiral or non-spiral fashions with detectors. Application of the scheme requires finding of a weight function, which would lead to the required reconstruction algorithm. This general scheme can use a C-arm scan with the closed x-ray source trajectory and gives a new, theoretically exact and efficient (i.e., with the convolution-based FBP structure) reconstruction algorithm. The invention can also utilize the algorithms disclosed in an earlier application U.S. application Ser. No. 10/143,160 filed May 10, 2002, entitled: Exact Filtered Back Projection (FBP) Algorithm For Spiral Computer Tomography, which claims the benefit of U.S. Provisional Application No. 60/312,827 filed Aug. 16, 2001, also fit into the general scheme.

This invention relates to computer tomography, and in particular to processes and systems for reconstructing three-dimensional images from the data obtained by spiral and non-spiral scans, and this invention is a continuation-in-part of U.S. application Ser. No. 10/143,160 filed May 10, 2002, now U.S. Pat. No. 6,574,299 entitled: Exact Filtered Back Projection (FBP) Algorithm For Spiral Computer Tomography, which claims the benefit of U.S. Provisional Application No. 60/312,827 filed Aug. 16, 2001, and this invention claims the benefit of priority to U.S. Provisional Application No. 60/379,547 filed May 10, 2002, all by the same inventor, and by the same assignee as the subject application, which are all incorporated by reference.

BACKGROUND AND PRIOR ART

Over the last thirty years, computer tomography (CT) has gone from image reconstruction based on scanning in a slice-by-slice process to spiral scanning. From the 1970s to 1980s the slice-by-slice scanning was used. In this mode the incremental motions of the patient on the table through the gantry and the gantry rotations were performed one after another. Since the patient was stationary during the gantry rotations, the trajectory of the x-ray source around the patient was circular. Pre-selected slices through the patient have been reconstructed using the data obtained by such circular scans. From the mid 1980s to present day, spiral type scanning has become the preferred process for data collection in CT. Under spiral scanning a table with the patient continuously moves through the gantry that is continuously rotating about the table. At first, spiral scanning has used one-dimensional detectors, which receive data in one dimension (a single row of detectors). Later, two-dimensional detectors, where multiple rows (two or more rows) of detectors sit next to one another, have been introduced. In CT there have been significant problems for image reconstruction especially for two-dimensional detectors. In what follows the data provided by the two-dimensional detectors will be referred to as cone-beam (CB) data or CB projections.

In addition to spiral scans there are non-spiral scans, in which the trajectory of the x-ray source is different from spiral. In medical imaging, non-spiral scans are performed using a C-arm device.

For three-dimensional (also known as volumetric) image reconstruction from the data provided by a spiral and non-spiral scans with two-dimensional detectors, there are two known groups of algorithms: Exact algorithms and Approximate algorithms, that each have known problems. Under ideal circumstances, exact algorithms can provide a replication of an exact image. Thus, one should expect that exact algorithms would produce images of good quality even under non-ideal (that is, realistic) circumstances. However, exact algorithms can be known to take many hours to provide an image reconstruction, and can take up great amounts of computer power when being used. These algorithms can require keeping considerable amounts of cone beam projections in memory. Additionally, some exact algorithms can require large detector arrays to be operable and can have limits on the size of the patient being scanned.

Approximate algorithms possess a filtered back projection (FBP) structure, so they can produce an image very efficiently and using less computing power than Exact algorithms. However, even under the ideal circumstances they produce an approximate image that may be similar to but still different from the exact image. In particular, Approximate algorithms can create artifacts, which are false features in an image. Under certain circumstances these artifacts could be quite severe.

To date, there are no known algorithms that can combine the beneficial attributes of Exact and Approximate algorithms into a single algorithm that is capable of replicating an exact image under the ideal circumstances, uses small amounts of computer power, and reconstructs the exact images in an efficient manner (i.e., using the FBP structure). Here and everywhere below by the phrase that the algorithm of the invention reconstructs an exact image we will mean that in theory the algorithm is capable of reconstructing an exact image. Since in real life any data contains noise and other imperfections, no algorithm is capable of reconstructing an exact image.

Image reconstruction has been proposed in many U.S. patents. See for example, U.S. Pat. Nos. 5,663,995 and 5,706,325 and 5,784,481 and 6,014,419 to Hu; U.S. Pat. Nos. 5,881,123 and 5,926,521 and 6,130,930 and 6,233,303 to Tam; U.S. Pat. No. 5,960,055 to Samaresekera et al.; U.S. Pat. No. 5,995,580 to Schaller; U.S. Pat. No. 6,009,142 to Sauer; U.S. Pat. No. 6,072,851 to Sivers; U.S. Pat. Nos. 6,173,032 and 6,459,754 to Besson; U.S. Pat. No. 6,198,789 to Dafni; U.S. Pat. Nos. 6,215,841 and 6,266,388 to Hsieh. However, none of the patents overcome all of the deficiencies to image reconstruction referenced above.

SUMMARY OF THE INVENTION

A primary objective of the invention is to provide a general scheme for creating improved processes and systems for reconstructing images of objects that have been scanned in a spiral or non-spiral fashions with two-dimensional detectors.

In the general setting application of the invented scheme requires finding of a weight function, which would lead to the required inversion algorithm. As a particular case, we show how this general scheme applies to a C-arm scan with the closed x-ray source trajectory and gives us a new, theoretically exact and efficient (i.e., with the convolution-based FBP structure) reconstruction algorithm.

In this particular case we demonstrate how that weight function is found. In addition, we show that the algorithms disclosed in the parent patent Ser. No. 10/143,160 filed May 10, 2002, entitled: Exact Filtered Back Projection (FBP) Algorithm For Spiral Computer Tomography, which claims the benefit of U.S. Provisional Application No. 60/312,827 filed Aug. 16, 2001, all by the same inventor, and by the same assignee as the subject application, which are all incorporated by reference, also fit into the proposed general scheme by demonstrating the appropriate vectors and coefficients.

Further objects and advantages of this invention will be apparent from the following detailed description of the presently preferred embodiments.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 shows a C-arm scan assembly that can be used with the subject invention.

FIG. 2 shows an overview of the basic process steps of the invention.

FIG. 3 is a five substep flow chart for preprocessing, corresponding to step 20 of FIG. 2.

FIG. 4 is a seven substep flow chart for finding two sets of lines for filtering, corresponding to step 30 of FIG. 2.

FIG. 5 is a seven substep flow chart for preparation for filtering, corresponding to step 40 of FIG. 2.

FIG. 6 is a seven substep flow chart for filtering, corresponding to step 50 of FIG. 2.

FIG. 7 is a seven substep flow chart for back-projection, corresponding to step 60 FIG. 2.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Before explaining the disclosed embodiments of the present inventions in detail it is to be understood that the invention is not limited in its application to the details of the particular arrangements shown since the invention is capable of other embodiments. Also, the terminology used herein is for the purpose of description and not of limitation.

For purposes of clarity, several definitions of terms being used in this invention will now be described.

Beam can be defined as a beam of particles (such as x-ray particles) that experience for the most part non-scattering interactions as they pass along straight lines through the medium (such as patient) to be scanned. Thus, an individual particle emitted by a source either is absorbed by the medium or travels all the way through it unabsorbed.

Cone beam can be defined as any conical shaped beam (i.e. not necessarily with round cross-section).

The two-dimensional detector (or, detector) can be defined as any device on which the cone beam is incident and which is capable of measuring intensity of the beam as a two-dimensional function (e.g., at a two-dimensional array of points).

This invention is a continuation-in-part of U.S. application Ser. No. 10/143,160 filed May 10, 2002, entitled: Exact Filtered Back Projection (FBP) Algorithm For Spiral Computer Tomography, which claims the benefit of U.S. Provisional Application No. 60/312,827 filed Aug. 16, 2001, all by the same inventor, and by the same assignee as the subject application, which are all incorporated by reference.

The invention will now be described in more detail by first describing the main inversion formula followed by the novel algorithm. First we introduce the necessary notations.

C is a smooth curve in R³:

I→R³,Is→y(s)εR³,  (1)

Here I⊂R is a finite union of intervals. S² is the unit sphere in R³, and $\begin{matrix} {{{D_{f}\left( {y,\Theta} \right)}:={\int_{0}^{\infty}{{f\left( {y + {\Theta \quad t}} \right)}\quad {t}}}},{{\Theta \in S^{2}};}} & (2) \\ {{{\beta \left( {s,x} \right)}:=\frac{x - {y(s)}}{{x - {y(s)}}}},{x \in U},{{s \in I};}} & (3) \\ {{\Pi \left( {x,\xi} \right)}:={\left\{ {{z \in {R^{3}:{\left( {z - x} \right) \cdot \xi}}} = 0} \right\}.}} & (4) \end{matrix}$

Additionally, ƒ is the function representing the distribution of the x-ray attenuation coefficient inside the object being scanned, D_(ƒ)(y,β) is the cone beam transform of ƒ, and β(s,x) is the unit vector from the focal point y(s) pointing towards the reconstruction point x. For βεS²,β^(⊥) denotes the great circle {αεS²:α·β=0}. Given xεR³ and ξεR³\0, let s_(j)=s_(j)(ξξ·x),j=1,2, . . . , denote points of intersection of the plane Π(x,ξ) with C. Also

{dot over (y)}(s):=dy/ds;

ÿ(s):=d²y/ds².

Given the focal point y(s) (also referred to as source position), let DP(s) denote a plane where a virtual flat two-dimensional detector can be located for the purpose of measuring the cone-beam projection corresponding to the focal point y(s).

Introduce the Sets

Crit(s,x):={αεβ^(⊥)(s,x):Π(x,α) is tangent to C or Π(x,α) contains an endpoint of C}

I_(reg)(x):={sεI:Crit(s,x) is a subset of but not equal to β^(⊥)(s,x)} $\begin{matrix} {{{Crit}(x)}:={\bigcup\limits_{s \in I}{{{Crit}\left( {s,x} \right)}.}}} & (5) \end{matrix}$

Sometimes Crit(s,x) coincides with β¹⁹⁵ (s,x). This happens, for example, if β(s,x) is parallel to {dot over (y)}(s) or the line through y(s)εC and x contains an endpoint of C. If αεS²\Crit(x) we say that such α is non-critical.

Fix any xεR³\C where ƒ needs to be computed. The main assumptions about the trajectory C are the following.

Property C1. (Completeness condition) Any plane through x intersects C at least at one point.

Property C2. The number of directions in Crit(s,x) is uniformly bounded on I_(reg)(x).

Property C3. The number of points in Π(x,α)∩C is uniformly bounded on S²\Crit(x).

Property C1 is the most important from the practical point of view. Properties C2 and C3 merely state that the trajectory C is not too exotic (which rarely happens in practice).

An important ingredient in the construction of the inversion formula is weight function n₀(s,x,α),sεI_(reg)(x),αεβ^(⊥)(s,x)\Crit(s,x). Define $\begin{matrix} {{{n_{\sum}\left( {x,\alpha} \right)} = {\sum\limits_{j}{n_{0}\left( {s_{j},x,\alpha} \right)}}},{s_{j} = {s_{j}\left( {\alpha,{\alpha \cdot x}} \right)}},{\alpha \in {S^{2}\backslash {{Crit}(x)}}}} & (6) \\ {{n\left( {s,x,\alpha} \right)} = \frac{n_{0}\left( {s,x,\alpha} \right)}{n_{\sum}\left( {x,\alpha} \right)}} & (7) \end{matrix}$

In equation (6) and everywhere below $\sum\limits_{j}$

denotes the summation over all s_(j) such that y(s_(j))εC∩Π(x,α). The main assumptions about n₀ are the following.

Property W1. n_(Σ)(x,α)>0 on S².

Property W2. There exist finitely many continuously differentiable functions α_(k)(s,x)εβ^(⊥)(s,x),sεI_(reg)(x), such that n(s,x,α) is locally constant in a neighborhood of any (s,α), where sεI_(reg)(x) and ${\alpha \in {\beta^{\bot}\left( {s,x} \right)}},{\alpha \notin {\left( {\bigcup\limits_{k}{\alpha_{k}\left( {s,x} \right)}} \right)\bigcup{{{Crit}\left( {s,x} \right)}.}}}$

The inversion formula, which is to be derived here, holds pointwise. Therefore, if ƒ needs to be reconstructed for all x belonging to a set U, then properties C1-C3, W1, and W2, are supposed to hold pointwise, and not uniformly with respect to xεU.

Let α₁(s) and α₂(s) be two smooth vector functions with the properties

β(s,x)·α₁(s)=β(s,x)·α₂(s)=α₁(s)·α₂(s)=0,|α₁(s)|=|α₂(s)|=1.

Then we can write

α=α(s,θ)=α₁(s)cos θ+α₂(s)sin θ.  (8)

Let α^(⊥)(s,θ):=β(s,x)×α(s,θ). The polar angle θ is introduced in such a way that

${\alpha^{\bot}\left( {s,\theta} \right)} = {\frac{\partial\quad}{\partial\theta}{{\alpha \left( {s,\theta} \right)}.}}$

Denote

φ(s,x,θ):=sgn(α·{dot over (y)}(s))n(s,x,α),α=α(s,θ).  (9)

Then the general reconstruction formula is given by $\begin{matrix} \begin{matrix} {{f(x)} = {{- \frac{1}{8\quad \pi^{2}}}{\sum\limits_{m}{\int_{I}^{\quad}{\frac{c_{m}\left( {s,x} \right)}{{x - {y(s)}}} \times {\int_{0}^{2\quad \pi}{\frac{\partial\quad}{\partial q}{D_{f}\left( {{y(q)},{{\cos \quad \gamma \quad \beta \left( {s,x} \right)} +}} \right.}}}}}}}} \\ {{\left. {\sin \quad \gamma \quad {\alpha^{\bot}\left( {s,\theta_{m}} \right)}} \right)}_{q = s}\frac{\gamma}{\sin \quad \gamma}\quad {{s}.}} \end{matrix} & (10) \end{matrix}$

Here

θ_(m) 's are the points where φ(s,x,θ) is discontinuous; and

c_(m)(s,x) are values of the jumps: $\begin{matrix} {{c_{m}\left( {s,x} \right)}:={\lim\limits_{ɛ\rightarrow 0^{+}}{\left( {{\varphi \left( {s,x,{\theta_{m} + ɛ}} \right)} - {\varphi \left( {s,x,{\theta_{m} - ɛ}} \right)}} \right).}}} & (11) \end{matrix}$

A brief step-by-step description of a general image reconstruction algorithm based on equations (10), (11) is as follows.

FIG. 2 shows an overview of the basic process steps 10, 20, 30, 40, 50, 60 of the invention. The steps will now be described.

Step 10. Load the current CB (cone beam) projection into computer memory. Suppose that the mid point of the CB projections currently stored in memory is y(s₀).

Step 20. Preprocessing. Compute numerically the derivative (∂/∂q)D_(ƒ)(y(q),β)|_(q=s) ₀ for all required β.

Step 30. Finding families of lines for filtering. Using vectors α^(⊥)(s,θ_(m)) (see equation (10) and the following paragraph), identify the required families of lines. Then, choose a discrete set of lines from each family.

Step 40. Preparing for filtering. Parameterize points on the said lines selected in Step 30 by polar angle. Using interpolation compute the derivative of the CB data at points on the said lines that correspond to discrete values of the polar angle.

Step 50. Filtering. For each line identified in Step 30 convolve the data for that line computed in Step 40 with filter 1/sin γ.

Step 60. Back-projection. For each reconstruction point x back-project the filtered data found in Step 50 according to equation (10). Then go to Step 10, unless there are no new CB projections to process or image reconstruction at all the required points x have been completed.

Particular Cases of the General Formula

Consider a spiral path of the x-ray source

y ₁(s)=R cos(s),y ₂(s)=R sin(s),y ₃(s)=s(h/2π), h>0.  (12)

Here

s is a real parameter;

h is pitch of the spiral;

R is distance from the x-ray source to the isocenter.

It is known in the literature that any point strictly inside the spiral belongs to one and only one PI segment (see P. E. Danielsson et al. “Towards exact reconstruction for helical cone-beam scanning of long objects. A new detector arrangement and a new completeness condition” in “Proc. 1997 Meeting on Fully 3D Image Reconstruction in Radiology and Nuclear Medicine (Pittsburgh)”, eds. D. W. Townsend and P. E. Kinahan, yr. 1997, pp. 141-144, and M. Defrise, F. Noo, and H. Kudo “A solution to the long-object problem in helical cone-beam tomography”, Physics in Medicine and Biology, volume 45, yr. 2000, pp. 623-643). Recall that a PI segment is a segment of line endpoints of which are located on the spiral and separated by less than one pitch in the axial direction. Let s=s_(h)(x) and s=s_(t)(x) denote values of the parameter corresponding to the endpoints of the PI segment containing x. We will call I_(PI)(x):=[s_(h)(x),s_(t)(x)] the PI parametric interval. The part of the spiral corresponding to I_(PI)(x) will be denoted C_(PI)(x). As C, which appears in Section 1, we will take the segment C_(PI)(x). It is clear that any plane through x intersects C_(PI)(x) at least at one point. Also, inside the PI parametric interval there exists {haeck over (s)}={haeck over (s)}(x) such that the plane through y({haeck over (s)}) and parallel to {dot over (y)}({haeck over (s)}),ÿ({haeck over (s)}), contains x.

DERIVATION OF THE INVERSION FORMULAS (24), (25) of U.S. parent patent application Ser. No. 10/143,160 filed May 10, 2002, entitled: Exact Filtered Back Projection (FBP) Algorithm For Spiral Computer Tomography, which claims the benefit of U.S. Provisional Application No. 60/312,827 filed Aug. 16, 2001, all by the same inventor, and by the same assignee as the subject application, which are all incorporated by reference. Let us construct now functions e_(k)(s,x). Denote $\begin{matrix} {{e_{1}\left( {s,x} \right)}:={\frac{\left\lbrack {{\beta \left( {s,x} \right)} \times {\overset{.}{y}(s)}} \right\rbrack \times {\beta \left( {s,x} \right)}}{{\left\lbrack {{\beta \left( {s,x} \right)} \times {\overset{.}{y}(s)}} \right\rbrack \times {\beta \left( {s,x} \right)}}}.}} & (13) \end{matrix}$

By construction, e₁(s,x) is a unit vector in the plane through y(s) and spanned by β(s,x),{dot over (y)}(s). Moreover, e₁(s,x)⊥β(s,x). Given y(s),sε(s_(h)(x),s_(t)(x))\{haeck over (s)}(x), find s_(tan)εI_(PI)(x),s_(tan)≠s, such that the plane through x,y(s), and y(s_(tan)) is tangent to C_(PI)(x) at y(s_(tan)). This is equivalent to solving

[(x−y(s _(tan)))×(x−y(s))]·{dot over (y)}(s _(tan))=0, s _(tan) ≠s.  (14)

Existence and uniqueness of the solution s_(tan)εI_(PI)(x) to (14) is shown in A. Katsevich “Theoretically exact FBP-type inversion algorithm for Spiral CT”, SIAM Journal on Applied Mathematics, Vol. 62, pp. 2012-2026 (2002). It is also shown there that s_(tan)(s,x) is smooth with respect to s on (s_(h)(x),s_(t)(x))\{haeck over (s)}(x) and is made continuous on [s_(h)(x),s_(t)(x)] by setting

s _(tan)(s,x)=s _(t)(x) if s=s _(h)(x),

s _(tan)(s,x)={haeck over (s)}(x) if s={haeck over (s)}(x),  (15)

s _(tan)(s,x)=s _(h)(x) if s=s _(t)(x).

Once s_(tan)=s_(tan)(s,x) has been found, denote similarly to (13) $\begin{matrix} {{{e_{2}\left( {s,x} \right)}:=\frac{\left\lbrack {\beta \quad \left( {s,x} \right) \times \Theta} \right\rbrack \times \beta \quad \left( {s,x} \right)}{{\left\lbrack {\beta \quad \left( {s,x} \right) \times \Theta} \right\rbrack \times \beta \quad \left( {s,x} \right)}}},} & (16) \end{matrix}$

where

Θ=sgn(s−s _(tan)(s,x))β(s _(tan) ,x) if sε(s _(h)(x),s _(t)(x))\{haeck over (s)}(x),

Θ={dot over (y)}(s _(tan)) if sε{s _(h)(x),{haeck over (s)}(x),s _(t)(x)}.  (17)

By construction, e₂(s,x) is a unit vector in the plane through x,y(s), and tangent to C_(PI)(x) at y(s_(tan)). In addition, e₂(s,x)⊥β(s,x). Using equation (17) and the inequalities s_(tan)(s,x)>{haeck over (s)}(x) if s<{haeck over (s)}(x), s_(tan)(s,x)<{haeck over (s)}(x) if s>{haeck over (s)}(x), we conclude that e₂(s,x) is continuous and piecewise smooth with respect to s on [s_(h)(x),s_(t)(x)].

Define

n ₀(s,x,α)=sgn(α·{dot over (y)}(s))[sgn(α·e ₁(s,x))+sgn(α·e ₂(s,x))].  (18)

It has proven in A. Katsevich “Theoretically exact FBP-type inversion algorithm for Spiral CT”, SIAM Journal on Applied Mathematics, Vol. 62, pp. 2012-2026 (2002), that in this case n_(Σ)(x,α)=2 a.e. on S² for all sεI_(PI)(x). Substituting into equation (9) and using equation (7) we obtain $\begin{matrix} {{\varphi \left( {s,x,\theta} \right)} = {{\frac{1}{2}\left\lbrack {{{sgn}\left( {{\alpha \left( {s,\theta} \right)} \cdot {e_{1}\left( {s,x} \right)}} \right)} + {s\quad g\quad n\quad \left( {\alpha {\left( {s,\theta} \right) \cdot {e_{2}\left( {s,x} \right)}}} \right)}} \right\rbrack}.}} & (19) \end{matrix}$

Thus, φ is discontinuous when α(s,θ) is perpendicular to either e₁(s,x) (and, consequently, {dot over (y)}(s)) or e₂(s,x). The integral with respect to γ in equation (10) is odd when θ→θ+π. Similarly, the values of the jump of φ at two points θ_(m) ₁ and θ_(m) ₂ separated by π differ by a factor −1. So, by inserting an extra factor 2, this integral can be confined to an interval of length π. This implies that we can take α^(⊥)(s,θ_(m))=e_(m)(s,x),m=1,2, and equation (10) transforms into the inversion formulas (24), (25) of U.S. parent patent application Ser. No. 10/143,160 filed May 10, 2002, entitled: Exact Filtered Back Projection (FBP) Algorithm For Spiral Computer Tomography, which claims the benefit of U.S. Provisional Application No. 60/312,827 filed Aug. 16, 2001, all by the same inventor, and by the same assignee as the subject application, which are all incorporated by reference, (note that all jumps of φ have amplitude 1): $\begin{matrix} {{f = {\frac{1}{2}\left( {{B_{1}f} + {B_{2}f}} \right)}},} & (20) \end{matrix}$

where $\begin{matrix} \begin{matrix} \begin{matrix} {{\left( {B_{k}f} \right)(x)}:={{- \frac{1}{2\pi^{2}}}{\int_{I_{PI}{(x)}}^{\quad}{\frac{1}{{x - {y(s)}}} \times}}}} \\ {{\int_{0}^{2\quad \pi}{\frac{\partial\quad}{\partial q}{D_{f}\left( {{y(\quad q)}\quad,{{\cos \quad \gamma \quad {\beta \left( {s,x} \right)}} + {\sin \quad \gamma \quad {e_{k}\left( {s,x} \right)}}}} \right)}{_{q = s}{{\frac{\gamma}{\sin \quad \gamma}{s}},}}}}} \end{matrix} \\ {k = {1,2.}} \end{matrix} & (21) \end{matrix}$

DERIVATION OF THE EQUATION (10) of parent U.S. application Ser. No. 10/143,160 filed May 10, 2002, entitled: Exact Filtered Back Projection (FBP) Algorithm For Spiral Computer Tomography, which claims the benefit of U.S. Provisional Application No. 60/312,827 filed Aug. 16, 2001, all by the same inventor, and by the same assignee as the subject application, which are all incorporated by reference.

Choose any ψεC^(∞)([0,2π]) with the properties

 ψ(0)=0; 0<ψ′(t)<1, tε[0,2π].  (22)

Suppose s₀,s₁, and s₂ are related by

s ₁=ψ(s ₂ −s ₀)+s ₀ if s ₀ ≦s ₂ <s ₀+2π,

s ₁=ψ(s ₀ −s ₂)+s ₂ if s ₀−2π<s ₂ <s ₀.  (23)

Since ψ(0)=0, s₁=s₁(s₀,s₂) is a continuous function of s₀ and s₂. Equations (22) and (23) imply s₁≠s₂ unless s₀=s₁=s₂. In order to avoid unnecessary complications, we will assume in what follows

ψ′(0)=0.5; ψ^((2k+1))(0)=0, k≧1.  (24)

If (24) holds, then s₁=s₁(s₀,s₂) is a C^(∞) function of s₀ and s₂. Conditions (22) and (24) are very easy to satisfy. One can take, for example, ψ(t)=t/2, and this leads to

s ₁=(s ₀ +s ₂)/2, s ₀−2π<s ₂ <s ₀+2π.

Denote also $\begin{matrix} \begin{matrix} {{u\left( {s_{0},s_{2}} \right)} = \frac{\left( {{y\left( s_{1} \right)} - {y\left( s_{0} \right)}} \right) \times \left( {{y\left( s_{2} \right)} - {y\left( s_{0} \right)}} \right)}{{\left( {{y\left( s_{1} \right)} - {y\left( s_{0} \right)}} \right) \times \left( {{y\left( s_{2} \right)} - {y\left( s_{0} \right)}} \right)}}} & {{{{if}\quad 0} < {{s_{2} - s_{0}}} < {2\quad \pi}},} \end{matrix} & (25) \\ \begin{matrix} {{{u\left( {s_{0},s_{2}} \right)} = \frac{{\overset{.}{y}\left( s_{0} \right)} \times {\overset{¨}{y}\left( s_{0} \right)}}{{{\overset{.}{y}\left( s_{0} \right)} \times {\overset{¨}{y}\left( s_{0} \right)}}}},} & {\quad {{{if}\quad s_{2}} = {s_{0}.}}} \end{matrix} & (26) \end{matrix}$

It is shown in A. Katsevich “Improved exact FBP algorithm for Spiral CT” submitted for possible publication to the journal “Advances in Applied Mathematics” in November 2001, that such s₂ exists, is unique, and depends smoothly on s₀. Therefore, this construction defines s₂:=s₂(s₀,x) and, consequently, u(s₀,x):=u(s₀,s₂(s₀,x)). Finally, we set

e(s,x):=β(s,x)×u(s,x), n₀(s,x,α):=sgn(α·{dot over (y)}(s))sgn (α·e(s,x)).  (27)

It is proven in A. Katsevich “Improved exact FBP algorithm for Spiral CT” submitted for possible publication to the journal “Advances in Applied Mathematics” in November 2001, that in this case n_(Σ)(x,α)=1 on S² for all sεI_(PI)(x). Substitution into equation (9) and using equation (7) gives

 φ(s,x,θ)=sgn(α(s,θ)·e(s,x)).  (28)

So φ is discontinuous when α(s,θ) is perpendicular to e(s,x). Arguing in the same way as before, we immediately obtain the inversion formula equation (10) of U.S. parent patent application Ser. No. 10/143,160 filed May 10, 2002, entitled: Exact Filtered Back Projection (FBP) Algorithm For Spiral Computer Tomography, which claims the benefit of U.S. Provisional Application No. 60/312,827 filed Aug. 16, 2001, all by the same inventor, and by the same assignee as the subject application, which are all incorporated by reference: $\begin{matrix} {{f(x)} = {{- \frac{1}{2\pi^{2}}}{\int_{I_{PI}{(x)}}^{\quad}{\frac{1}{{x - {y(s)}}} \times {\int_{0}^{2\quad \pi}{\frac{\partial\quad}{\partial q}{D_{f}\left( {{y(\quad q)}\quad,{{\cos \quad \gamma \quad {\beta \left( {s,x} \right)}} + {\sin \quad \gamma \quad {e_{k}\left( {s,x} \right)}}}} \right)}{_{q = s}{{\frac{\gamma}{\sin \quad \gamma}{s}},}}}}}}}} & (29) \end{matrix}$

How To Obtain New Inversion Formulas

Returning to the case of a general trajectory C, take n₀(s,x,α)≡1. It follows from the completeness condition that n_(Σ)(x,α)≧1 on S². So equation (10) becomes an inversion formula in which the constants c_(m) can easily be determined before a scan knowing the trajectory of the x-ray source C. By construction, the inversion formula is theoretically exact. In the same way is in U.S. parent patent application Ser. No. 10/143,160 filed May 10, 2002, entitled: Exact Filtered Back Projection (FBP) Algorithm For Spiral Computer Tomography, which claims the benefit of U.S. Provisional Application No. 60/312,827 filed Aug. 16, 2001, all by the same inventor, and by the same assignee as the subject application, which are all incorporated by reference, one immediately sees that the formula admits convolution-based filtered back-projection implementation. The function φ(s,x,θ) is discontinuous whenever the plane Π(x,α(s,θ)) is tangent to C or contains endpoints of C, or α(s,θ)⊥e_(k)(s,x) for some k. This means that, in general, for every point x in a region of interest one would have to compute the contribution from the endpoints to the image. If the trajectory of the x-ray source is short (e.g., as in C-arm scanning), this should not cause any problems. However, for long trajectories (e.g., as is frequently the case in spiral scanning), this is undesirable. The approach developed in Section 1 allows one to construct formulas that would not require computing contributions from the endpoints. From equations (6)-(11) it follows that one has to find the function n₀(s,x,α) so that for all sεI_(reg) the function φ(s,x,θ) is continuous when the plane Π(x,α(s,θ)) passes through an endpoint of C. Note that in the case of C-arm scanning if the trajectory C is closed, such a problem does not arise and we obtain an exact FBP-type inversion formula.

Detailed Description of the New General Inversion Algorithm

As an example we will illustrate how the algorithm works in the case when the trajectory C of a C-arm is closed and n₀(s,x,α)≡1. The algorithm will consist of the following steps 10, 20, 30, 40, 50 and 60 as depicted in FIGS. 2-7.

Step 10(FIG. 2). Load the current CB projection into computer memory. Suppose that the mid point of the CB projections currently stored in memory is y(s₀).

Step 20(FIGS. 2-3). Preprocessing.

Step 21. Choose a rectangular grid of points {circumflex over (x)}_(i,j) that covers the plane DP(s₀).

Step 22. For each {circumflex over (x)}_(i,j) find the unit vector β_(i,j) which points from y(s₀) towards the point {circumflex over (x)}_(i,j) on the plane DP(s₀).

Step 23. Using the CB data D_(ƒ)(y(q),β) for a few values of q close to s₀ find numerically the derivative (∂/∂q)D_(ƒ)(y(q),β_(i,j))|_(q=s) ₀ for all β_(i,j).

Step 24. Store the computed values of the derivative in computer memory.

Step 25. The result of Step 24 is the pre-processed CB data Ψ(s₀,β_(i,j)).

Step 30(FIGS. 2, 4). Finding two sets of lines for filtering.

Step 31. Choose a discrete set of values of the parameter s₂ inside the interval I that corresponds to the trajectory of the x-ray source C.

Step 32. For each selected s₂ find the vector {dot over (y)}(s₂), which is tangent to C at y(s₂).

Step 33. For each selected s₂ find the line, which is obtained by intersecting the plane through y(s₀), y(s₂), and parallel to {dot over (y)}(s₂), with the plane DP(s₀).

Step 34. The collection of lines constructed in Step 33 is the required first set of lines L₁(s₂).

Step 35. Let ω be the polar angle in the plane perpendicular to {dot over (y)}(s₀) and e(ω) be the corresponding unit vector perpendicular to {dot over (y)}(s₀).

Step 36. For a discrete set of values ω, find lines obtained by intersecting the plane through y(s₀) and parallel to {dot over (y)}(s₂), e(ω), with the plane DP(s₀).

Step 37. The collection of lines constructed in Step 36 is the required second set of lines L₂(ω).

Step 40(FIGS. 2, 5). Preparation for filtering

Step 41. Fix a line L from the said sets of lines obtained in Step 30.

Step 42. Parameterize points on that line by polar angle γ in the plane through y(s₀) and L.

Step 43. Choose a discrete set of equidistant values γ_(k) that will be used later for discrete filtering in Step 50.

Step 44. For each γ_(k) find the unit vector β_(k) which points from y(s₀) towards the point on L that corresponds to γ_(k).

Step 45. For all β_(k), using the pre-processed CB data Ψ(s₀,β_(i,j)) for a few values of β_(i,j) close to β_(k) and an interpolation technique, find the value Ψ(s₀,β_(k)).

Step 46. Store the computed values of Ψ(s₀,β_(k)) in computer memory.

Step 47. Repeat Steps 41-45 for all lines L₁(s₂) and L₂(θ) identified in Step 30.

This way the pre-processed CB data Ψ(s₀,β_(k)) will be stored in computer memory in the form convenient for subsequent filtering along the said lines identified in Step 30.

Step 50(FIGS. 2, 6). Filtering

Step 51. Fix a line from the said families of lines identified in Step 30.

Step 52. Compute FFT of the values of the said pre-processed CB data Ψ(s₀,β_(k)) computed in Step 40 along the said line.

Step 53. Compute FFT of the filter 1/sin γ

Step 54. Multiply the results of Steps 52 and 53.

Step 55. Take the inverse FFT of the result of Step 54.

Step 56. Store the result of Step 55 in computer memory.

Step 57. Repeat Steps 51-56 for all lines in the said families of lines. As a result we get the filtered CB data Φ₁(s₀,β_(k)) and Φ₂(s₀,β_(k)) that correspond to the families of lines L₁ and L₂, respectively.

Step 60(FIGS. 2, 7). Back-projection

Step 61. Fix a reconstruction point x.

Step 62. Find the projection {circumflex over (x)} of x onto the plane DP(s₀) and the unit vector β(s₀,x), which points from y(s₀) towards x.

Step 63. From each family of lines select several lines and points on the said lines that are close to the said projection {circumflex over (x)}. This will give a few values of Φ₁(s₀,β_(k)) and Φ₂(s₀,β_(k)) for β_(k) close to β(s₀,x).

Step 64. Using interpolation, find the values Φ₁(s₀,β(s₀,x)) and Φ₂(s₀,β(s₀,x)) from the said values of Φ₁(s₀,β_(k)) and Φ₂(s₀,β_(k)), respectively, for β_(k) close to β(s₀,x).

Step 65. Compute the contributions from the said filtered CB data Φ₁(s₀,β(s₀,x)) and Φ₂(s₀,β(s₀,x)) to the image being reconstructed at the point x by dividing Φ₁(s₀,β(s₀,x)) and Φ₂(s₀,β(s₀,x)) by |x−y(s₀)| and multiplying by constants c_(m)(s,x) found from equation (11).

Step 66. Add the said contributions to the image being reconstructed at the point x according to a pre-selected scheme for discretization of the integral in equation (10) (e.g., the Trapezoidal scheme).

Step 67. Go to Step 61 and choose a different reconstruction point x.

Additional embodiments of the invented algorithm are possible. For example, if the two-dimensional detector is not large enough to capture the required cross-section of the cone-beam, one can assume that the missing data are zero or use an extrapolation technique to fill in the missing data, and then use the invented algorithm for image reconstruction. Since the missing data will be found approximately, the algorithm will no longer be able to provide the exact image. The result will be an approximate image, whose closeness to the exact image will depend on how accurately the missing data are estimated.

Another embodiment arises when one integrates by parts with respect to s in equation (10) in the same way as in U.S. parent patent application Ser. No. 10/143,160 filed May 10, 2002, entitled: Exact Filtered Back Projection (FBP) Algorithm For Spiral Computer Tomography, which claims the benefit of U.S. Provisional Application No. 60/312,827 filed Aug. 16, 2001, all by the same inventor, and by the same assignee as the subject application, which are all incorporated by reference, to produce a version of the algorithm that requires keeping only one cone beam projection in memory at a time. An advantage of that version is that no derivative of the cone beam data along the trajectory of the radiation source is required.

More generally, one can come up with approximate algorithms that are based on the back-projection coefficients c_(m)(s,x) and directions of filtering α^(⊥)(s,θ_(m)), which are found from equations (9), (11). Such an approximate algorithm can either be based directly on equation (10) or the equation, which is obtained from it using integration by parts.

For the purpose of simplifying the presentation we used the notion of the plane DP(s₀), which corresponds to a hypothetical virtual flat detector. In this case filtering is performed along lines on the plane. If the detector is not flat (e.g. it can be a section of the cylinder as is the case in spiral CT), then filtering will be performed not along lines, but along some curves on the detector array.

Although the invention describes specific weights and trajectories, the invention can be used with different weights for different or the same trajectories as needed.

While the invention has been described, disclosed, illustrated and shown in various terms of certain embodiments or modifications which it has presumed in practice, the scope of the invention is not intended to be, nor should it be deemed to be, limited thereby and such other modifications or embodiments as may be suggested by the teachings herein are particularly reserved especially as they fall within the breadth and scope of the claims here appended. 

I claim:
 1. A method for reconstructing images from detectors, comprising the steps of: scanning an object in a mode with detectors that receive cone beam projections; and reconstructing an exact image of the scanned object in an efficient manner with a convolution-based filtered back projection (FBP) algorithm.
 2. The method of claim 1, wherein the scanning mode includes: a nonspiral scanning mode.
 3. The method of claim 1, wherein the scanning mode includes: a spiral scanning mode.
 4. The method of claim 1, wherein the reconstructing step includes the steps of: convolution-based filtering each of the cone beam projections; and back projection updating the image of the scanned object.
 5. A method of computing exact images derived from computer tomography with detectors, comprising the steps of: (a) collecting cone beam data obtained by a two dimensional detector in the process of scanning of an object; (b) identifying families of lines on a plane DP(s₀), where s₀ is a parameter value along the scan path and DP(s₀) is any plane intersecting the cone beam; (c) preprocessing of the said data at selected points on said families of lines; (d) convolution-based filtering the data on said families of lines; and (e) back projecting said filtered data to update an intermediate version of the said exact image; and (f) repeating steps (a), (b), (c), (d) and (e) until an exact image of the object is completed.
 6. The method of claim 5, wherein the object scan includes: a nonspiral object scan.
 7. The method of claim 5, wherein the object scan includes: a spiral object scan.
 8. The method of claim 5, wherein step (b) further includes the step of: choosing a discrete set of lines from each family.
 9. The method of claim 5, wherein the step (c) further includes the step of: interpolating the derivative of cone beam (CB) data at points on the said lines that correspond to discrete values of a polar angle.
 10. The method of claim 5, wherein step (e), further includes the step of: back-projecting the filtered data for each reconstruction point according to equation ${f(x)} = {{- \frac{1}{8\pi^{2}}}{\sum\limits_{m}{\int_{I}^{\quad}{\frac{c_{m}\left( {s,x} \right)}{{x - {y(s)}}} \times {\int_{0}^{2\quad \pi}{\frac{\partial\quad}{\partial q}{D_{f}\left( {{y(\quad q)}\quad,{{\cos \quad \gamma \quad {\beta \left( {s,x} \right)}} + {\sin \quad \gamma \quad {\alpha^{\bot}\left( {s,\theta_{m}} \right)}}}} \right)}{_{q = s}{\frac{\gamma}{\sin \quad \gamma}{{s}.}}}}}}}}}$

where x is a reconstruction point, s and q are parameters along the scan path, I is the parametric interval that corresponds to the scan path, y(s) is the source position, D_(ƒ) is the cone beam data, γ is the polar angle, β(s,x) is the unit vector pointing from y(s) towards x; φ(s,x,θ) is the function defined by the equation φ(s,x,θ):=sgn(α·{dot over (y)}(s))n(s,x,α), α=α(s,θ); {dot over (y)}(s)=dy(s)/ds, θ is the polar angle in the plane perpendicular to β(s,x), which parameterizes angles α(s,θ) belonging to that plane, θ is chosen in such a way that ${{\alpha^{\bot}\left( {s,\theta} \right)} = {{\frac{\partial\quad}{\partial\theta}{\alpha \left( {s,\theta} \right)}\quad {and}\quad {\alpha^{\bot}\left( {s,\theta} \right)}} = {\frac{\partial\quad}{\partial\theta}{\alpha \left( {s,\theta} \right)}}}},$

n(s,x,α) is the function defined by the equation ${{n\left( {s,x,\alpha} \right)} = \frac{n_{0}\left( {s,x,\alpha} \right)}{n_{\sum}\left( {x,\alpha} \right)}},$

n₀(s,x,α) is a weight function, α is a unit vector, ${{n_{\sum}\left( {x,\alpha} \right)} = {\sum\limits_{j}{n_{0}\left( {s_{j},x,\alpha} \right)}}},$

s_(j)=s_(j)(α,α·x) are values of the parameter along the scan path that correspond to points of intersection of the plane Π(x,α) with the scan path, Π(x,α) is the plane through x and perpendicular to α, $\sum\limits_{j}$

is the summation over all s_(j) such that y(s_(j))εC∩Π(x,α); θ_(m)'s are the points where φ(s,x,θ) is discontinuous; c_(m)(s,x) are values of the jumps: ${c_{m}\left( {s,x} \right)}:={\lim\limits_{ɛ\rightarrow 0^{+}}{\left( {{\varphi \left( {s,x,{\theta_{m} + ɛ}} \right)} - {\varphi \left( {s,x,{\theta_{m} - ɛ}} \right)}} \right).}}$


11. A method of computing images derived from computer tomography detectors, comprising the steps of: (a) collecting cone beam data from a detector during a scan of an object; (b) preprocessing said data; (c) identifying lines on a plane DP(s₀), where s₀ is the parameter along the scan path and DP(s₀) is any plane intersecting the cone beam, wherein the step (c) of identifying lines includes the steps of (ci) Taking the weight function n₀(s,x,α), where α is a unit vector, x is a reconstruction point, s=s₀ for simplicity of notation, with the properties n_(Σ)(x,α)>0 and n(s,x,α) is piece-wise constant, where $\begin{matrix} {{{n_{\sum}\left( {x,\alpha} \right)} = {\sum\limits_{j}^{\quad}{n_{0}\left( {s_{j},x,\alpha} \right)}}},} \\ {{{n\left( {s,x,\alpha} \right)} = \frac{n_{0}\left( {s,x,\alpha} \right)}{n_{\sum}\left( {x,\alpha} \right)}},} \end{matrix}$

s_(j)=s_(j)(α,α·x) are values of the parameter along the scan path that correspond to points of intersection of the plane Π(x,α) with the scan path, Π(x,α) is the plane through x and perpendicular to α, α is a non-critical direction, $\sum\limits_{j}$

is the summation over all s_(j) such that y(s_(j))εC∩Π(x,α); (cii) Computing the function φ(s,x,θ):=sgn(α·{dot over (y)}(s))n(s,x,α), where {dot over (y)}(s)=dy(s)/ds, y(s) is the source position, θ is the polar angle in the plane perpendicular to β(s,x), which parameterizes angles α(s,θ) belonging to that plane, θ is chosen in such a way that ${{\alpha^{\bot}\left( {s,\theta} \right)} = {{\frac{\partial\quad}{\partial\theta}{\alpha \left( {s,\theta} \right)}\quad {and}\quad {\alpha^{\bot}\left( {s,\theta} \right)}} = {\frac{\partial\quad}{\partial\theta}{\alpha \left( {s,\theta} \right)}}}},$

α=α(s,θ) is a unit vector in the plane perpendicular to β(s,x), β(s,x) is the unit vector pointing from y(s) towards x; (ciii) Finding values of the polar angle θ_(m) and the corresponding directions α^(⊥)(s,θ_(m)) where φ(s,x,θ) is discontinuous; (civ) Finding lines obtained by intersecting the planes through y(s) and parallel to α^(⊥)(s,θ_(m)) and β(s,x) with the plane DP(s); (d) Computing backprojection coefficients c_(m)(s,x) by the formula ${{c_{m}\left( {s,x} \right)}:={\lim\limits_{ɛ\rightarrow 0^{+}}\left( {{\varphi \left( {s,x,{\theta_{m} + ɛ}} \right)} - {\varphi \left( {s,x,{\theta_{m} - ɛ}} \right)}} \right)}},$

where θ_(m) are values of the polar angle where φ(s,x,θ) is discontinuous; (e) shift invariant filtering said preprocessed data along said lines; (f) back projecting said filtered data using the said back-projection coefficients to form a precursor of said image; and (g) repeating steps a, b, c, d, e, and f until an image of the object is completed.
 12. The method of claim 11, wherein the preprocessing of step (b) is based on calculating the derivative and includes the steps of: (bi) choosing a rectangular grid of points {circumflex over (x)}_(i,j) that covers the plane DP(s₀); (bii) finding a unit vector β_(i,j) for each {circumflex over (x)}_(i,j) which points from y(s) towards the point {circumflex over (x)}_(i,j) on the plane; (biii) using the cone beam data D_(ƒ)(y(q),β) for a few values of q close to s₀ find numerically the derivative Ψ(s₀,β_(i,j))=(∂/∂q)D_(ƒ)(y(q),β_(i,j))|_(q=s) ₀ for all β_(i,j); and (biv) storing computed values of the derivative in the computer memory.
 13. The method of claim 11, wherein the path of the scan is open (beginning of the scan path does not coincide with the end).
 14. The method of claim 11, wherein the path of the scan is closed (beginning of the scan path coincides with the end).
 15. The method of claim 11, wherein the weight function n₀(s,x,α)=1 is chosen in the case of the closed scan path.
 16. The method of claim 11, wherein in the case of the closed smooth scan path determining the families of the lines of step(c) includes the steps of: (ci) choosing a discrete set of values of the parameter s₂ inside the interval I that corresponds to the trajectory of the x-ray source (scan path) C; (cii) finding a vector {dot over (y)}(s₂) for each selected s₂, which is tangent to C at y(s₂); (ciii) finding a line for each selected s₂, which is obtained by intersecting the plane through y(s₀), y(s₂), and parallel to {dot over (y)}(s₂), with the plane DP(s₀) which is a first set of lines L₁(s₂); and (civ) finding lines for a discrete set of values ω, obtained by intersecting the plane through y(s₀) and parallel to {dot over (y)}(s₀), e(ω), with the plane DP(s₀), where ω is the polar angle in the plane perpendicular to {dot over (y)}(s₀), e(ω) is the corresponding unit vector perpendicular to {dot over (y)}(s₀). This gives the second set of lines L₂(ω).
 17. The method of claim 11, wherein shift-invariant filtering of the data for each of the lines of step(e) includes the steps of: (ei) fixing a line L from the said sets of lines obtained in step (c); (eii) parameterizing points on that line by polar angle γ in the plane through y(s₀) and L; (eiii) choosing a discrete set of equidistant values γ_(k); (eiv) finding the unit vector β_(k) for each γ_(k) which points from y(s₀) towards the point on L that corresponds to γ_(k); (ev) finding the value Ψ(s₀,β_(k)) for all β_(k), using the pre-processed CB data Ψ(s₀,β_(i,j)) of step (b) for a few values of β_(i,j) close to β_(k) and an interpolation technique, (evi) calculating FFT(Fast Fourier Transform) of the values of the said pre-processed CB data Ψ(s₀,β_(k)) along the said line; (evii) calculating FFT of the filter 1/sin γ; (eviii) multiplying steps (evi) and (evii) to form a result; (eix) calculating inverse FFT of the result; (ex) storing the inverse FFT in the computer memory; and (exi) repeating steps (ei) through (ex) for all lines L₁(s₂) and L₂(ω) identified in step (c). This gives the filtered data Φ₁(s₀,β_(k)) and Φ₂(s₀,β_(k)), respectively.
 18. The method of claim 11, wherein back projecting the convolved data of step(f) includes the steps of: (fi) fixing a reconstruction point x; (fii) finding the projection {circumflex over (x)} of x onto a plane DP(s₀) and a unit vector β(s₀,x), which points from y(s₀) towards x; (fiii) selecting several lines from each family of lines and points on the said lines that are close to the said projection {circumflex over (x)} to determine values of Φ₁(s₀,β_(k)) and Φ₂(s₀,β_(k)) for β_(k) close to β(s₀,x), where Φ₁(s₀,β_(k)) and Φ₂(s₀,β_(k)) are the filtered data found in step (e); (fiv) finding the values Φ₁(s₀β(s₀,x)) and Φ₂(s₀,β(s₀,x)) from the said values of Φ₁(s₀,β_(k)) and Φ₂(s₀,β_(k)), using interpolation respectively, for β_(k) close to β(s₀,x); (fv) calculating contributions from the said filtered CB data Φ₁(s₀,β(s₀,x)) and Φ₂(s₀,β(s₀,x)) to the image being reconstructed at the point x by dividing Φ₁(s₀,β(s₀,x)) and Φ₂(s₀,β(s₀,x)) by −8π²|x−y(s₀)| and multiplying by selected constants c_(m)(s,x); (fvi) determining the said contributions to the image being reconstructed at the point x according to a Trapezoidal scheme; and (fvii) repeating steps (fi) through (fvi) for a different reconstruction point x. 